home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / PopupCDEF-10b4 / Source / PopupLM.h < prev   
Encoding:
C/C++ Source or Header  |  1994-10-01  |  2.3 KB  |  47 lines  |  [TEXT/KAHL]

  1. /*    Access to low-memory globals is provided in several different manners,
  2.     depending on the header file used. THINK C has a header called "LoMem.h"
  3.     that uses a special syntax to define low-memory globals. Usually,
  4.     "LoMem.h" is included in the default precompiled header "MacHeaders".
  5.     Since both "LoMem.h" and "SysEqu.h" declare symbols with identical names,
  6.     only one of the files may be used. Apple's universal header "LowMem.h"
  7.     declares functions (or macros) for accessing the low-memory globals. We
  8.     determine if the universal header "LowMem.h" are being used by testing
  9.     for USESROUTINEDESCRIPTORS. We determine if THINK C's "LoMem.h" is being
  10.     used by testing for __LOMEM__. */
  11. #ifdef USESROUTINEDESCRIPTORS
  12.     #include <LowMem.h>
  13. #else /* USESROUTINEDESCRIPTORS */
  14.     #ifndef __LOMEM__
  15.         #include <SysEqu.h>
  16.         #define SysFontFam                 (0x0BA6)
  17.         #define SysFontSiz                (0x0BA8)
  18.         #define LMGetApplLimit()        (*(Ptr *) ApplLimit)
  19.         #define LMGetHiliteMode()        (*(Byte *) HiliteMode)
  20.         #define LMGetResErrProc()        (*(ProcPtr *) ResErrProc)
  21.         #define LMGetResLoad()            (*(short *) ResLoad)
  22.         #define LMGetSysFontFam()        (*(short *) SysFontFam)
  23.         #define LMGetSysFontSize()        (*(short *) SysFontSiz)
  24.         #define LMSetApplLimit(v)        ((void) (*(Ptr *) ApplLimit = (v)))
  25.         #define LMSetHiliteMode(v)        ((void) (*(Byte *) HiliteMode = (v)))
  26.         #define LMSetResErrProc(v)        ((void) (*(ProcPtr *) ResErrProc = (v)))
  27.         #define LMSetResLoad(v)            ((void) (*(short *) ResLoad = (v)))
  28.         #define LMSetSysFontFam(v)        ((void) (*(short *) SysFontFam = (v)))
  29.         #define LMSetSysFontSize(v)    ((void) (*(short *) SysFontSiz = (v)))
  30.     #else /* __LOMEM__ */
  31.         short SysFontFam : 0x0BA6;
  32.         short SysFontSiz : 0x0BA8;
  33.         #define LMGetApplLimit()        (ApplLimit)
  34.         #define LMGetHiliteMode()        (HiliteMode)
  35.         #define LMGetResErrProc()        (ResErrProc)
  36.         #define LMGetResLoad()            (ResLoad)
  37.         #define LMGetSysFontFam()        (SysFontFam)
  38.         #define LMGetSysFontSize()        (SysFontSiz)
  39.         #define LMSetApplLimit(v)        ((void) (ApplLimit = (v)))
  40.         #define LMSetHiliteMode(v)        ((void) (HiliteMode = (v)))
  41.         #define LMSetResErrProc(v)        ((void) (ResErrProc = (v)))
  42.         #define LMSetResLoad(v)            ((void) (ResLoad = (v)))
  43.         #define LMSetSysFontFam(v)        ((void) (SysFontFam = (v)))
  44.         #define LMSetSysFontSize(v)    ((void) (SysFontSiz = (v)))
  45.     #endif /* __LOMEM__ */
  46. #endif /* USESROUTINEDESCRIPTORS */
  47.